//package cn.doourbest.learnspring.tomcat;
//
//import org.apache.logging.log4j.LogManager;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.util.*;
//import java.util.function.Function;
//import java.util.function.Predicate;
//import java.util.function.Supplier;
//
//import static java.util.stream.Collectors.toList;
//
///**
// * @description:
// * @author: zhangsc
// * @create: 2019/12/3
// */
//public class MMMain implements Comparator<Integer>{
//    private static final Logger log = LoggerFactory.getLogger(MMMain.class);
//
//    private static final org.apache.logging.log4j.Logger logger = LogManager.getLogger("HelloWorld");
//
//    private String ss = "";
//
//
//
//    public static void main(String[] args)  throws InterruptedException {
//
//
//
//        List<Integer> ss = new ArrayList<>();
//        ss.add(3);
//        ss.add(2);
//        ss.add(1);
//        ss.add(5);
//        ss.add(0);
//        ss.add(6);
//        ss.sort(new MMMain());
//
//        ss.sort(
//                (Integer a,Integer b)-> {
//                    if( a > b){return 1;}
//                    else return -1;
//                }
//        );
//        ss.forEach(System.out::println);
//
//        adjust(2,"fffffffff");//fffffffff 分配内存
//
//
//        logger.info("000"+"zsc");//000zsc  分配内存
//        logger.info("000{}","zsc");//zsc 000{}分配内存
//        logger.debug("111{}","333");//111{}   333分配内存
//        String sss = "222" + "444444444444";
//        Supplier supplier = ()->"222" + "444444444444";//字符串没分配内存 但是 lambda表达式分配了内存
//        logger.debug(supplier);
//
//        logger.info("zxcvbnm");
//        boolean ssss = true;
//        if(!ssss){
//            logger.info("asdfgh"); // 不分配内存
//            String sytring = "rrrrr"; // 不分配内存
//        }
//        Thread.sleep(500000L);
//
////        MMMain mmMain = new MMMain();
////        mmMain.ss = "zsc";
////        FunctionMMain name1 = mmMain.getName1();
////        name1.invoke("ssss1");
////        mmMain.getName("sss2");
////
////        mmMain.ss = "123";
////        name1.invoke("fffff");
////
////
////        Integer[] numbers1 = {1,2,3,4,45,5435,5646};
////        List<Integer> valuesOver25 = Arrays.stream(numbers1)
////                .filter(mmMain.isGreaterThan.apply(25))
////                .collect(toList());
//
//    }
//
//
//    Function<Integer, Predicate<Integer>> isGreaterThan = (Integer pivot) -> {
//        Predicate<Integer> isGreaterThanPivot = (Integer candidate) -> {
//            return candidate > pivot;
//        };
//
//        return isGreaterThanPivot;
//    };
//
//    private FunctionMMain getName1(){
//        return this::getName;
//    }
//
//    private void getName(String name){
//        System.out.println("ss=====" + ss);
//        System.out.println(name);
//    }
//
//    @Override
//    public int compare(Integer o, Integer t1) {
//        if(o== null || t1 == null){
//            return -1;
//        }
//        if(o > t1){
//            return -1;
//        }
//
//        if(o < t1){
//            return 1;
//        }
//        return 0;
//    }
//
//
//    @FunctionalInterface
//    public interface FunctionMMain {
//        public void invoke(String name);
//    }
//
//    private static void adjust(Integer num,String ss){
//        if(num == 1){
//            logger.info(ss);
//        }
//    }
//}
